tsconfig.json テンプレート
tsconfig.jsonのテンプレート
生成方法
tscを使用してテンプレートを作成する
$ pnpm exec tsc --init
GitHub Copilot(Copilot の編集)で以下のコマンドを順番に入力する
$ コメントを全て和訳して
$ 全てのインラインコメントを行の上に再配置して
https://gyazo.com/281105a8621e9a2576e4cfc9085dcf3e
テンプレート
生成日時:2025/02/16
code:tsconfig.json
{
"compilerOptions": {
/* このファイルについて詳しくは https://aka.ms/tsconfig をご覧ください */
/* プロジェクト */
// プロジェクトのインクリメンタルコンパイルを可能にする .tsbuildinfo ファイルを保存します。
// "incremental": true,
// プロジェクト参照で TypeScript プロジェクトを使用できるようにする制約を有効にします。
// "composite": true,
// インクリメンタルコンパイルファイルのパスを指定します。
// "tsBuildInfoFile": "./.tsbuildinfo",
// 複合プロジェクトを参照する際に、宣言ファイルの代わりにソースファイルを優先することを無効にします。
// "disableSourceOfProjectReferenceRedirect": true,
// 編集時のマルチプロジェクト参照チェックからプロジェクトを除外します。
// "disableSolutionSearching": true,
// TypeScript によって自動的に読み込まれるプロジェクトの数を減らします。
// "disableReferencedProjectLoad": true,
/* 言語と環境 */
// 出力される JavaScript の言語バージョンを設定し、互換性のあるライブラリ宣言を含めます。
"target": "es2016",
// 対象のランタイム環境を記述するバンドルされたライブラリ宣言ファイルのセットを指定します。
// "lib": [],
// 生成される JSX コードを指定します。
// "jsx": "preserve",
// レガシーな実験的デコレータのサポートを有効にします。
// "experimentalDecorators": true,
// ソースファイル内のデコレータで宣言されたデザインタイプメタデータを出力します。
// "emitDecoratorMetadata": true,
// React JSX 出力をターゲットにする際に使用される JSX ファクトリ関数を指定します。例: 'React.createElement' または 'h'。
// "jsxFactory": "",
// React JSX 出力をターゲットにする際にフラグメントに使用される JSX フラグメント参照を指定します。例: 'React.Fragment' または 'Fragment'。
// "jsxFragmentFactory": "",
// 'jsx: react-jsx*' を使用する際に JSX ファクトリ関数をインポートするために使用されるモジュール指定子を指定します。
// "jsxImportSource": "",
// 'createElement' のために呼び出されるオブジェクトを指定します。これは 'react' JSX 出力をターゲットにする場合にのみ適用されます。
// "reactNamespace": "",
// デフォルトの lib.d.ts を含むすべてのライブラリファイルを含めないようにします。
// "noLib": true,
// ECMAScript 標準に準拠したクラスフィールドを出力します。
// "useDefineForClassFields": true,
// モジュール形式の JS ファイルを検出する方法を制御します。
// "moduleDetection": "auto",
/* モジュール */
// 生成されるモジュールコードを指定します。
"module": "commonjs",
// ソースファイル内のルートフォルダを指定します。
// "rootDir": "./",
// モジュール指定子からファイルをどのように検索するかを指定します。
// "moduleResolution": "node10",
// 非相対モジュール名を解決するためのベースディレクトリを指定します。
// "baseUrl": "./",
// インポートを追加の検索場所に再マップするエントリのセットを指定します。
// "paths": {},
// モジュールを解決する際に複数のフォルダを1つとして扱うことを許可します。
// "rootDirs": [],
// './node_modules/@types' のように動作する複数のフォルダを指定します。
// "typeRoots": [],
// ソースファイルで参照されていなくても含める型パッケージ名を指定します。
// "types": [],
// モジュールから UMD グローバルにアクセスすることを許可します。
// "allowUmdGlobalAccess": true,
// モジュールを解決する際に検索するファイル名のサフィックスのリスト。
// "moduleSuffixes": [],
// TypeScript ファイル拡張子を含むインポートを許可します。'--moduleResolution bundler' と '--noEmit' または '--emitDeclarationOnly' のいずれかを設定する必要があります。
// "allowImportingTsExtensions": true,
// 相対インポートパスの '.ts', '.tsx', '.mts', および '.cts' ファイル拡張子を出力ファイルの JavaScript 相当のものに書き換えます。
// "rewriteRelativeImportExtensions": true,
// パッケージインポートを解決する際に package.json の 'exports' フィールドを使用します。
// "resolvePackageJsonExports": true,
// インポートを解決する際に package.json の 'imports' フィールドを使用します。
// "resolvePackageJsonImports": true,
// インポートを解決する際にデフォルトのリゾルバ固有の条件に追加する条件。
// "customConditions": [],
// 副作用のあるインポートをチェックします。
// "noUncheckedSideEffectImports": true,
// .json ファイルのインポートを有効にします。
// "resolveJsonModule": true,
// 宣言ファイルが存在する場合、任意の拡張子のファイルのインポートを許可します。
// "allowArbitraryExtensions": true,
// 'import', 'require' または '<reference>' がプロジェクトに追加するファイルの数を増やすことを禁止します。
// "noResolve": true,
/* JavaScript サポート */
// JavaScript ファイルをプログラムの一部として許可します。'checkJS' オプションを使用してこれらのファイルからエラーを取得します。
// "allowJs": true,
// 型チェックされた JavaScript ファイルでエラー報告を有効にします。
// "checkJs": true,
// 'node_modules' から JavaScript ファイルをチェックするために使用される最大フォルダ深度を指定します。'allowJs' が適用される場合にのみ適用されます。
// "maxNodeModuleJsDepth": 1,
/* 出力 */
// プロジェクト内の TypeScript および JavaScript ファイルから .d.ts ファイルを生成します。
// "declaration": true,
// d.ts ファイルのソースマップを作成します。
// "declarationMap": true,
// JavaScript ファイルを出力せずに .d.ts ファイルのみを出力します。
// "emitDeclarationOnly": true,
// 出力された JavaScript ファイルのソースマップファイルを作成します。
// "sourceMap": true,
// 出力された JavaScript 内にソースマップファイルを含めます。
// "inlineSourceMap": true,
// コンパイルからファイルの出力を無効にします。
// "noEmit": true,
// すべての出力を1つの JavaScript ファイルにバンドルするファイルを指定します。'declaration' が true の場合、すべての .d.ts 出力をバンドルするファイルも指定します。
// "outFile": "./",
// すべての出力ファイルの出力フォルダを指定します。
// "outDir": "./",
// コメントの出力を無効にします。
// "removeComments": true,
// プロジェクトごとに1回、tslib からヘルパー関数をインポートすることを許可します。
// "importHelpers": true,
// より準拠した、しかし冗長でパフォーマンスの低い JavaScript を反復処理のために出力します。
// "downlevelIteration": true,
// デバッガが参照ソースコードを見つけるためのルートパスを指定します。
// "sourceRoot": "",
// デバッガがマップファイルを生成された場所の代わりに見つける場所を指定します。
// "mapRoot": "",
// 出力された JavaScript 内のソースマップにソースコードを含めます。
// "inlineSources": true,
// 出力ファイルの先頭に UTF-8 バイトオーダーマーク (BOM) を出力します。
// "emitBOM": true,
// ファイルの出力に使用する改行文字を設定します。
// "newLine": "crlf",
// JSDoc コメントに '@internal' が含まれている宣言の出力を無効にします。
// "stripInternal": true,
// コンパイルされた出力に '__extends' などのカスタムヘルパー関数を生成することを無効にします。
// "noEmitHelpers": true,
// 型チェックエラーが報告された場合にファイルの出力を無効にします。
// "noEmitOnError": true,
// 生成されたコードで 'const enum' 宣言を削除しないようにします。
// "preserveConstEnums": true,
// 生成された宣言ファイルの出力ディレクトリを指定します。
// "declarationDir": "./",
/* 相互運用制約 */
// 他のインポートに依存せずに各ファイルを安全にトランスパイルできることを保証します。
// "isolatedModules": true,
// 型専用としてマークされていないインポートやエクスポートを変換または省略せず、'module' 設定に基づいて出力ファイルの形式でそれらを記述します。
// "verbatimModuleSyntax": true,
// 他のツールが簡単に宣言ファイルを生成できるように、エクスポートに十分な注釈を要求します。
// "isolatedDeclarations": true,
// モジュールにデフォルトエクスポートがない場合に 'import x from y' を許可します。
// "allowSyntheticDefaultImports": true,
// CommonJS モジュールのインポートをサポートするために追加の JavaScript を出力します。これにより、型の互換性のために 'allowSyntheticDefaultImports' が有効になります。
"esModuleInterop": true,
// シンボリックリンクを実際のパスに解決することを無効にします。これは node の同じフラグに対応します。
// "preserveSymlinks": true,
// インポートの大文字小文字が正しいことを保証します。
"forceConsistentCasingInFileNames": true,
/* 型チェック */
// すべての厳密な型チェックオプションを有効にします。
"strict": true,
// 暗黙の 'any' 型を持つ式や宣言に対するエラー報告を有効にします。
// "noImplicitAny": true,
// 型チェック時に 'null' および 'undefined' を考慮します。
// "strictNullChecks": true,
// 関数を割り当てる際に、パラメータと戻り値がサブタイプ互換であることを確認します。
// "strictFunctionTypes": true,
// 'bind', 'call', および 'apply' メソッドの引数が元の関数と一致することを確認します。
// "strictBindCallApply": true,
// コンストラクタで設定されていないクラスプロパティをチェックします。
// "strictPropertyInitialization": true,
// 組み込みのイテレータは 'any' の代わりに 'undefined' の 'TReturn' 型でインスタンス化されます。
// "strictBuiltinIteratorReturn": true,
// 'this' に 'any' 型が与えられた場合のエラー報告を有効にします。
// "noImplicitThis": true,
// デフォルトのキャッチ句変数を 'any' の代わりに 'unknown' にします。
// "useUnknownInCatchVariables": true,
// 常に 'use strict' を出力します。
// "alwaysStrict": true,
// 読み取られていないローカル変数に対するエラー報告を有効にします。
// "noUnusedLocals": true,
// 読み取られていない関数パラメータに対するエラーを発生させます。
// "noUnusedParameters": true,
// オプションのプロパティ型を記述された通りに解釈し、'undefined' を追加しません。
// "exactOptionalPropertyTypes": true,
// 関数内で明示的に戻らないコードパスに対するエラー報告を有効にします。
// "noImplicitReturns": true,
// switch 文のフォールスルーケースに対するエラー報告を有効にします。
// "noFallthroughCasesInSwitch": true,
// インデックスを使用してアクセスする際に型に 'undefined' を追加します。
// "noUncheckedIndexedAccess": true,
// 派生クラスでオーバーライドされるメンバーがオーバーライド修飾子でマークされていることを確認します。
// "noImplicitOverride": true,
// インデックス型を使用して宣言されたキーに対してインデックスアクセサを使用することを強制します。
// "noPropertyAccessFromIndexSignature": true,
// 使用されていないラベルに対するエラー報告を無効にします。
// "allowUnusedLabels": true,
// 到達不能コードに対するエラー報告を無効にします。
// "allowUnreachableCode": true,
/* 完全性 */
// TypeScript に含まれる .d.ts ファイルの型チェックをスキップします。
// "skipDefaultLibCheck": true,
// すべての .d.ts ファイルの型チェックをスキップします。
"skipLibCheck": true
}
}